
<% import grails.persistence.Event %>
<%=packageName%>
<!doctype html>
<html>
<head>
<meta name="layout" content="main">
<g:set var="entityName" value="\${message(code: '${domainClass.propertyName}.label', default: '${className}')}" />
<title><g:message code="default.list.label" args="[entityName]" /></title>
</head>
<body>





	<div class="flat_area grid_16">
		<h2>
			<g:message code="default.list.label" args="[entityName]" />
		</h2>

		<g:if test="\${flash.message}">
			<div class="alert dismissible alert_blue">
				<g:img height="24" width="24" file="icons/small/white/alert_2.png" />
				\${flash.message}
			</div>
		</g:if>
	</div>

	<div class="box grid_16">
		<div class="block">
			<div class="section clearfix">
				<fieldset class="label_side label_small">
					<g:link action="create">
						<button class="img_icon has_text">
							<g:img file="icons/small/white/create_write.png" />
							<span><g:message code="default.new.label" args="[entityName]" /></span>
						</button>
					</g:link>
				</fieldset>
			</div>
		</div>
	</div>

	<div class="box grid_16 single_datatable">
		<div id="dt1" class="no_margin">
			<table class="display datatable">
				<thead>
					<tr>
						<%  excludedProps = Event.allEvents.toList() << 'id' << 'version'
							allowedNames = domainClass.persistentProperties*.name << 'dateCreated' << 'lastUpdated'
							props = domainClass.properties.findAll { allowedNames.contains(it.name) && !excludedProps.contains(it.name) && it.type != null && !Collection.isAssignableFrom(it.type) }
							Collections.sort(props, comparator.constructors[0].newInstance([domainClass] as Object[]))
							props.eachWithIndex { p, i ->
								if (i < 6) {
									if (p.isAssociation()) { %>
							<th><g:message code="${domainClass.propertyName}.${p.name}.label" default="${p.naturalName}" /></th>
						<%      } else { %>
							<g:sortableColumn property="${p.name}" title="\${message(code: '${domainClass.propertyName}.${p.name}.label', default: '${p.naturalName}')}" />
						<%  }   }   } %>
					</tr>
				</thead>
				<tbody>
					<g:each in="\${${propertyName}List}" status="i" var="${propertyName}">
						<tr class="\${(i % 2) == 0 ? 'even' : 'odd'}">
							<%  props.eachWithIndex { p, i ->
							if (i == 0) { %>
						<td><g:link action="show" id="\${${propertyName}.id}">\${fieldValue(bean: ${propertyName}, field: "${p.name}")}</g:link></td>
					<%      } else if (i < 6) {
								if (p.type == Boolean || p.type == boolean) { %>
						<td><g:formatBoolean boolean="\${${propertyName}.${p.name}}" /></td>
					<%          } else if (p.type == Date || p.type == java.sql.Date || p.type == java.sql.Time || p.type == Calendar) { %>
						<td><g:formatDate date="\${${propertyName}.${p.name}}" /></td>
					<%          } else { %>
						<td>\${fieldValue(bean: ${propertyName}, field: "${p.name}")}</td>
					<%  }   }   } %>
						</tr>
					</g:each>

				</tbody>
			</table>
			<div class="pagination">
				<g:paginate total="\${${propertyName}Total}" />
			</div>
		</div>
	</div>
</body>
</html>
